﻿using QuanLyGiaoVuDAL.DTO;
using QuanLyGiaoVuDAL.Repositories.DatabaseRepositories;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace QuanLyGiaoVuService.CommandServices
{
    public class MonHocCommandService : IMonHocCommandService
    {
        private IMonHocRepository _monHocRepository;
        public MonHocCommandService(IMonHocRepository monHocRepository)
        {
            _monHocRepository = monHocRepository;
        }

        public MonHocDTO InsertMonHoc(QuanLyGiaoVuDAL.DTO.MonHocDTO monHocDTO)
        {
            return _monHocRepository.InsertMonHoc(monHocDTO);
        }

        public QuanLyGiaoVuDAL.DTO.MonHocDTO UpdateMonHoc(QuanLyGiaoVuDAL.DTO.MonHocDTO monHocDTO)
        {
            if (monHocDTO.ID.Equals(Guid.Empty))
            {
                monHocDTO.ID = Guid.NewGuid();
                return _monHocRepository.InsertMonHoc(monHocDTO);
            }
            return _monHocRepository.UpdateMonHoc(monHocDTO);
        }

        public bool DeleteMonHocById(Guid monHocId)
        {
            return _monHocRepository.DeleteMonHoc(monHocId);
        }


        public bool InsertMonHocChuongTrinhKhung(Guid maLop, Guid maMonHoc, int hocKy)
        {
            return _monHocRepository.InsertMonHocChuongTrinhKhung(maLop, maMonHoc, hocKy);
        }

        public bool DeleteMonHocChuongTrinhKhung(Guid maLop, Guid maMonHoc)
        {
            return _monHocRepository.DeleteMonHocChuongTrinhKhung(maLop, maMonHoc);
        }


        public bool InsertMonHocBoMon(Guid maMonHoc, int maBoMon)
        {
            return _monHocRepository.InsertMonHocBoMon(maMonHoc, maBoMon);
        }

        public bool DeleteMonHocBoMon(Guid maMonHoc, int maBoMon)
        {
            return _monHocRepository.DeleteMonHocBoMon(maMonHoc, maBoMon);
        }
    }
}
